// -----------第1题--------------
function s(r) {
    // r = Number(r);
    var res = Math.PI * r ** 2;
    return res.toFixed(2)
};
//注意r是一个字符串而不是数字
// var r = prompt("请输入半径！");

// var res1 = s(r);
// console.log(res1);
// -----------第2题--------------

function isAdult(age) {
    if (age >= 18) {
        console.log("你可以浏览此网站了!")
    } else {
        console.log("还是去看葫芦娃吧！")
    }
}

// var age = Number(prompt("请输入年龄！"));
// isAdult(age);
// -----------第3题--------------
function randomBetween(min, max) {
    var x = Math.random();
    var m = max - min
    return Math.round(m * x + min);
}
// -----------第4题--------------
// 第四题：封装一个函数，函数可以接收1-2个参数，
// 如果接收一个参数，则返回0到这个参数之间一个随机整数，
// 如果接收两个参数则返回则两个参数之间的一个随机整数。
//f() 0 10 
// f(x) 0 - x
// f(x,y) x -y
//f(x,y,z,j) x -y
function randomBetween1() {
    var max, min;

    if (arguments.length == 0) {
        //当只有一个参数的时候
        max = 10;
        min = 0;
    } else if (arguments.length == 1) {
        //当有2个参数的时候
        max = arguments[0];
        min = 0;
    } else {
        //当有参数的个数是其他情况，取前两个参数，判断哪个是大的一个数
        // if (arguments[0] > arguments[1]) {
        //     max = arguments[0];
        //     min = arguments[1]
        // } else {
        //     min = arguments[0];
        //     max = arguments[1];
        // }
        min = arguments[0];
        max = arguments[1];
    }
    var res = randomBetween(min, max);
    return res;
}
// -----------第5题--------------
// 第五题：封装一个函数，函数可以接收0-3个参数，返回一个固定长度的随机数组。如f(len,start,end),len代表数组的长度，默认值为5可省略，start代表数组随机的最小值默认值为0，end代表随机数最大值默认值为100。
// 例如 f(),返回一个长度为5的数组，数组元素随机分布在0-100之间；
// f(4),返回一个长度为4的数组，数组元素随机分布在0-100之间;
// f(8,120),返回一个长度为8的数组，数组元素随机分布在10-100之间;
// f(20,10,40),返回一个长度为20的数组，数组元素随机分布在10-40之间;
// --------------使用arguments方式收集参数----------------
// function randomArray() {
//     var max, min, len;
//     var res = [];
//     if (arguments.length == 0) {
//         len = 5;
//         for (var i = 1; i <= len; i++) {
//             res.push(randomBetween(0, 100))
//         }
//     } else if (arguments.length == 1) {
//         len = arguments[0];
//         for (var i = 1; i <= len; i++) {
//             res.push(randomBetween(0, 100))
//         }
//     } else if (arguments.length == 2) {
//         len = arguments[0];
//         for (var i = 1; i <= len; i++) {
//             res.push(randomBetween(arguments[1], 100))
//         }
//     } else {
//         len = arguments[0];
//         for (var i = 1; i <= len; i++) {
//             res.push(randomBetween(arguments[1], arguments[2]))
//         }
//     };
//     return res
// }
// --------------使用arguments方式收集参数简化----------------
// function randomArray() {
//     var max, min, len;
//     var res = [];
//     if (arguments.length == 0) {
//         len = 5;
//         min = 0;
//         max = 100;
//     } else if (arguments.length == 1) {
//         len = arguments[0];
//         min = 0;
//         max = 100;
//     } else if (arguments.length == 2) {
//         len = arguments[0];
//         min = arguments[1];
//         max = 100;
//     } else {
//         len = arguments[0];
//         min = arguments[1];
//         max = arguments[2]
//     };
//     for (var i = 1; i <= len; i++) {
//         res.push(randomBetween(min, max))
//     }
//     return res
// }
// --------------使用arguments方式收集参数，switch-case语句----------------
// function randomArray() {
//     var max, min, len;
//     var res = [];
//     //判断每种情况下len,min,max的值
//     switch (arguments.length) {
//         case 0:
//             len = 5, min = 0, max = 100;
//             break;
//         case 1:
//             len = arguments[0], min = 0, max = 100;
//             break;
//         case 2:
//             len = arguments[0], min = arguments[1], max = 100;
//             break;
//         default:
//             len = arguments[0], min = arguments[1], max = arguments[2];
//     }
//     //通过循环向结果数组添加随机数
//     for (var i = 1; i <= len; i++) {
//         res.push(randomBetween(min, max))
//     }
//     return res
// }
// --------------使用默认参数方式收集参数，----------------
function randomArray(len, min, max) {

    len = len == undefined ? 5 : len;
    max = max == undefined ? 100 : max;
    min = min == undefined ? 0 : min;
    var res = [];
    //判断每种情况下len,min,max的值

    //通过循环向结果数组添加随机数
    for (var i = 1; i <= len; i++) {
        res.push(randomBetween(min, max))
    }
    return res
}
//--------函数调用其他函数-----------
// function foo(x) {
//     return x + 1
// }

// function bar(y) {
//     var res = foo(y) + 1;
//     return res
// }
// ------------第六题-------------------------
var array = randomArray(10);

function handleArray(arr) {
    //按照升序排列
    arr.sort(function(a, b) { return a - b });
    var min = arr[0];
    var maxIdx = arr.length - 1;
    var max = arr[maxIdx];
    return [min, max]

}
// console.log(array)
// array.sort(function(firstEl, secendEl) {
//     // return firstEl - secendEl
//     return secendEl - firstEl
// })
// console.log(array)